package com.uls.lh.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.uls.common.annotation.Excel;
import com.uls.common.core.domain.BaseEntity;

/**
 * 车辆调度管理对象 lh_car_schedule_management
 * 
 * @author lh
 * @date 2024-11-29
 */
public class LhCarScheduleManagement extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 调度编号 */
    private Long scheduleId;

    /** 用车申请编号，关联 `lh_carrequest` 表 */
    @Excel(name = "用车申请编号，关联 `lh_carrequest` 表")
    private Long requestId;

    /** 车辆编号，关联 `lh_carinfo` 表 */
    @Excel(name = "车辆编号，关联 `lh_carinfo` 表")
    private Long carId;

    /** 驾驶员编号，关联 `lh_driverinfo` 表 */
    @Excel(name = "驾驶员编号，关联 `lh_driverinfo` 表")
    private Long driverId;

    /** 计划调度开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划调度开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scheduledStartTime;

    /** 计划调度结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划调度结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date scheduledEndTime;

    /** 实际调度开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际调度开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualStartTime;

    /** 实际调度结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际调度结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualEndTime;

    /** 调度状态(1进行中，2已完成，3已取消) */
    @Excel(name = "调度状态(1进行中，2已完成，3已取消)")
    private Integer status;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;


    @Excel(name = "车辆名称")
    private String model;

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }


    /** 驾驶员姓名 */
    @Excel(name = "驾驶员姓名")
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setScheduleId(Long scheduleId)
    {
        this.scheduleId = scheduleId;
    }

    public Long getScheduleId() 
    {
        return scheduleId;
    }
    public void setRequestId(Long requestId) 
    {
        this.requestId = requestId;
    }

    public Long getRequestId() 
    {
        return requestId;
    }
    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }
    public void setDriverId(Long driverId) 
    {
        this.driverId = driverId;
    }

    public Long getDriverId() 
    {
        return driverId;
    }
    public void setScheduledStartTime(Date scheduledStartTime) 
    {
        this.scheduledStartTime = scheduledStartTime;
    }

    public Date getScheduledStartTime() 
    {
        return scheduledStartTime;
    }
    public void setScheduledEndTime(Date scheduledEndTime) 
    {
        this.scheduledEndTime = scheduledEndTime;
    }

    public Date getScheduledEndTime() 
    {
        return scheduledEndTime;
    }
    public void setActualStartTime(Date actualStartTime) 
    {
        this.actualStartTime = actualStartTime;
    }

    public Date getActualStartTime() 
    {
        return actualStartTime;
    }
    public void setActualEndTime(Date actualEndTime) 
    {
        this.actualEndTime = actualEndTime;
    }

    public Date getActualEndTime() 
    {
        return actualEndTime;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("scheduleId", getScheduleId())
            .append("requestId", getRequestId())
            .append("carId", getCarId())
            .append("driverId", getDriverId())
            .append("scheduledStartTime", getScheduledStartTime())
            .append("scheduledEndTime", getScheduledEndTime())
            .append("actualStartTime", getActualStartTime())
            .append("actualEndTime", getActualEndTime())
            .append("status", getStatus())
            .append("remarks", getRemarks())
            .toString();
    }
}
